package com.wh.wisdomsite.xbox.us.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 刘旭
 * @version V1.0
 * @Package com.wh.wisdomsite.xbox.us.entity
 * @date 2018年08月03日 14:09
 * @Copyright 企业版权所有
 * @Company 贵州万华科技有限公司CopyRight (c) 2018
 */
@TableName("us_company")
public class Company extends Model<Company> {

    /**
     * 公司id
     */
    @TableId(type = IdType.AUTO)
    private Integer companyId;

    /**
     * 父级编号 0 表示根
     */
    @TableField("parentId")
    private Integer parentId;

    /**
     * 企业编码，用于做数据权限
     */
    @TableField("compCode")
    private String compCode;

    /**
     * 一体化平台公司ID
     */
    @TableField("ythCompanyId")
    private String ythCompanyId;

    /**
     * 企业名称
     */
    @TableField("name")
    private String name;

    /**
     * 企业注册所在省
     */
    @TableField("registerProvice")
    private String registerProvice;

    /**
     * 企业注册所在市
     */
    @TableField("registerCity")
    private String registerCity;

    /**
     * 企业注册所在区
     */
    @TableField("registerDistrict")
    private String registerDistrict;

    /**
     * 企业注册所在街道地址
     */
    @TableField("registerAddress")
    private String registerAddress;

    /**
     * 企业运营所在省
     */
    @TableField("operatingProvice")
    private String operatingProvice;

    /**
     * 企业运营所在市
     */
    @TableField("operatingCity")
    private String operatingCity;

    /**
     * 企业运营所在区
     */
    @TableField("operatingDistrict")
    private String operatingDistrict;

    /**
     * 企业运营所在街道地址
     */
    @TableField("operatingAddress")
    private String operatingAddress;

    /**
     * 公司类型 字典配置
     */
    @TableField("compType")
    private String compType;

    /**
     * 企业法人
     */
    @TableField("master")
    private String master;

    /**
     * 企业法人证件类型 字典配置
     */
    @TableField("masterCertType")
    private String masterCertType;

    /**
     * 企业法人证件号
     */
    @TableField("masterCertNum")
    private String masterCertNum;

    /**
     * 企业法人职务
     */
    @TableField("masterJob")
    private String masterJob;

    /**
     * 企业法人职称
     */
    @TableField("masterJobTitle")
    private String masterJobTitle;

    /**
     * 企业法人电话
     */
    @TableField("masterPhone")
    private String masterPhone;

    /**
     * 营业执照注册号
     */
    @TableField("registerID")
    private String registerID;

    /**
     * 注册资本(万)
     */
    @TableField("registerCapital")
    private Double registerCapital;

    /**
     * 注册币种 字典配置
     */
    @TableField("registerCurrency")
    private String registerCurrency;

    /**
     * 注册日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("registerDate")
    private Date registerDate;

    /**
     * 注册时间格式化
     */
    @TableField(exist = false)
    private String registerDateFormat;


    /**
     * 企业logo 公共附件
     */
    @TableField("compLogo")
    private String compLogo;

    /**
     * 企业icon 公共附件
     */
    @TableField("compIcon")
    private String compIcon;

    /**
     * 企业背景图 公共附件
     */
    @TableField("compBg")
    private String compBg;

    /**
     * 固定电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 传真
     */
    @TableField("fax")
    private String fax;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 邮政编码
     */
    @TableField("postCode")
    private String postCode;

    /**
     * 联系人姓名
     */
    @TableField("linkmanName")
    private String linkmanName;

    /**
     * 联系人手机号码
     */
    @TableField("linkmanPhone")
    private String linkmanPhone;

    /**
     * 联系人办公电话
     */
    @TableField("linkmanOfficePhone")
    private String linkmanOfficePhone;

    /**
     * 企业网址
     */
    @TableField("companySites")
    private String companySites;

    /**
     * 排序
     */
    @TableField("sort")
    private String sort;

    /**
     * 创建者
     */
    @TableField("createBy")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("createDate")
    private Date createDate;

    /**
     * 更新者
     */
    @TableField("updateBy")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField("updateDate")
    private Date updateDate;

    /**
     * 备注信息
     */
    @TableField("remark")
    private String remark;

    /**
     * 数据状态 1:正常 2:已删除
     */
    @TableField("dataState")
    private String dataState;

    /**
     * 子公司
     */
    @TableField(exist = false)
    private List<Company> children;


    public Integer getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getCompCode() {
        return compCode;
    }

    public void setCompCode(String compCode) {
        this.compCode = compCode;
    }

    public String getYthCompanyId() {
        return ythCompanyId;
    }

    public void setYthCompanyId(String ythCompanyId) {
        this.ythCompanyId = ythCompanyId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRegisterProvice() {
        return registerProvice;
    }

    public void setRegisterProvice(String registerProvice) {
        this.registerProvice = registerProvice;
    }

    public String getRegisterCity() {
        return registerCity;
    }

    public void setRegisterCity(String registerCity) {
        this.registerCity = registerCity;
    }

    public String getRegisterDistrict() {
        return registerDistrict;
    }

    public void setRegisterDistrict(String registerDistrict) {
        this.registerDistrict = registerDistrict;
    }

    public String getRegisterAddress() {
        return registerAddress;
    }

    public void setRegisterAddress(String registerAddress) {
        this.registerAddress = registerAddress;
    }

    public String getOperatingProvice() {
        return operatingProvice;
    }

    public void setOperatingProvice(String operatingProvice) {
        this.operatingProvice = operatingProvice;
    }

    public String getOperatingCity() {
        return operatingCity;
    }

    public void setOperatingCity(String operatingCity) {
        this.operatingCity = operatingCity;
    }

    public String getOperatingDistrict() {
        return operatingDistrict;
    }

    public void setOperatingDistrict(String operatingDistrict) {
        this.operatingDistrict = operatingDistrict;
    }

    public String getOperatingAddress() {
        return operatingAddress;
    }

    public void setOperatingAddress(String operatingAddress) {
        this.operatingAddress = operatingAddress;
    }

    public String getCompType() {
        return compType;
    }

    public void setCompType(String compType) {
        this.compType = compType;
    }

    public String getMaster() {
        return master;
    }

    public void setMaster(String master) {
        this.master = master;
    }

    public String getMasterCertType() {
        return masterCertType;
    }

    public void setMasterCertType(String masterCertType) {
        this.masterCertType = masterCertType;
    }

    public String getMasterCertNum() {
        return masterCertNum;
    }

    public void setMasterCertNum(String masterCertNum) {
        this.masterCertNum = masterCertNum;
    }

    public String getMasterJob() {
        return masterJob;
    }

    public void setMasterJob(String masterJob) {
        this.masterJob = masterJob;
    }

    public String getMasterJobTitle() {
        return masterJobTitle;
    }

    public void setMasterJobTitle(String masterJobTitle) {
        this.masterJobTitle = masterJobTitle;
    }

    public String getMasterPhone() {
        return masterPhone;
    }

    public void setMasterPhone(String masterPhone) {
        this.masterPhone = masterPhone;
    }

    public String getRegisterID() {
        return registerID;
    }

    public void setRegisterID(String registerID) {
        this.registerID = registerID;
    }

    public Double getRegisterCapital() {
        return registerCapital;
    }

    public void setRegisterCapital(Double registerCapital) {
        this.registerCapital = registerCapital;
    }

    public String getRegisterCurrency() {
        return registerCurrency;
    }

    public void setRegisterCurrency(String registerCurrency) {
        this.registerCurrency = registerCurrency;
    }

    public Date getRegisterDate() {
        return registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public String getCompLogo() {
        return compLogo;
    }

    public void setCompLogo(String compLogo) {
        this.compLogo = compLogo;
    }

    public String getCompIcon() {
        return compIcon;
    }

    public void setCompIcon(String compIcon) {
        this.compIcon = compIcon;
    }

    public String getCompBg() {
        return compBg;
    }

    public void setCompBg(String compBg) {
        this.compBg = compBg;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPostCode() {
        return postCode;
    }

    public void setPostCode(String postCode) {
        this.postCode = postCode;
    }

    public String getLinkmanName() {
        return linkmanName;
    }

    public void setLinkmanName(String linkmanName) {
        this.linkmanName = linkmanName;
    }

    public String getLinkmanPhone() {
        return linkmanPhone;
    }

    public void setLinkmanPhone(String linkmanPhone) {
        this.linkmanPhone = linkmanPhone;
    }

    public String getLinkmanOfficePhone() {
        return linkmanOfficePhone;
    }

    public void setLinkmanOfficePhone(String linkmanOfficePhone) {
        this.linkmanOfficePhone = linkmanOfficePhone;
    }

    public String getCompanySites() {
        return companySites;
    }

    public void setCompanySites(String companySites) {
        this.companySites = companySites;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getDataState() {
        return dataState;
    }

    public void setDataState(String dataState) {
        this.dataState = dataState;
    }

    public List<Company> getChildren() {
        return children;
    }

    public void setChildren(List<Company> children) {
        this.children = children;
    }

    public String getRegisterDateFormat() {
        return registerDateFormat;
    }

    public void setRegisterDateFormat(String registerDateFormat) {
        this.registerDateFormat = registerDateFormat;
    }

    @Override
    protected Serializable pkVal() {
        return this.companyId;
    }
}
